Termination Proof Script

Consider the TRS R consisting of the rewrite rules
1:    app(app(app(fold,f),x),nil)  → x
2:    app(app(app(fold,f),x),app(app(cons,y),z))  → app(app(f,y),app(app(app(fold,f),x),z))
3:    app(app(plus,0),y)  → y
4:    app(app(plus,app(s,x)),y)  → app(s,app(app(plus,x),y))
5:    app(app(times,0),y)  → 0
6:    app(app(times,app(s,x)),y)  → app(app(plus,app(app(times,x),y)),y)
7:    sum  → app(app(fold,add),0)
8:    prod  → app(app(fold,mul),app(s,0))
There are 15 dependency pairs:
9:    APP(app(app(fold,f),x),app(app(cons,y),z))  → APP(app(f,y),app(app(app(fold,f),x),z))
10:    APP(app(app(fold,f),x),app(app(cons,y),z))  → APP(f,y)
11:    APP(app(app(fold,f),x),app(app(cons,y),z))  → APP(app(app(fold,f),x),z)
12:    APP(app(plus,app(s,x)),y)  → APP(s,app(app(plus,x),y))
13:    APP(app(plus,app(s,x)),y)  → APP(app(plus,x),y)
14:    APP(app(plus,app(s,x)),y)  → APP(plus,x)
15:    APP(app(times,app(s,x)),y)  → APP(app(plus,app(app(times,x),y)),y)
16:    APP(app(times,app(s,x)),y)  → APP(plus,app(app(times,x),y))
17:    APP(app(times,app(s,x)),y)  → APP(app(times,x),y)
18:    APP(app(times,app(s,x)),y)  → APP(times,x)
19:    SUM  → APP(app(fold,add),0)
20:    SUM  → APP(fold,add)
21:    PROD  → APP(app(fold,mul),app(s,0))
22:    PROD  → APP(fold,mul)
23:    PROD  → APP(s,0)
The approximated dependency graph contains one SCC: {9-11,13,15,17}.
Tyrolean Termination Tool  (0.15 seconds)   ---  May 3, 2006